package com.masterclient.app.businessmodule.homemodule.presenter;
import com.eoner.commonbean.popup.CommonPopUpBean;
import com.masterclient.app.base.MessageCallBack;
import com.masterclient.app.businessmodule.homemodule.fragment.HomePageNewFragment;
import com.masterclient.app.businessmodule.homemodule.view.IHomeMainView;

import java.util.List;

public interface IHomePresenter {

    /**
     * 绑定v和I层
     * */
    IHomePresenter bindViewAndInteraction(IHomeMainView iHomeMainView, HomePageNewFragment iHomePageNewFragment);

    /////////////////////////////////////////////////////////////////////////////////
    //
    //                    api 接口
    //
    /////////////////////////////////////////////////////////////////////////////////

    /**
    * 首页接口
    * */
    void serviceApiHomeData();

    /**
     * 获取当前page
     * */
    int getCurrentPage();

    /**
     * 首页接口 - 只刷新限时购
     * */
    void serviceApiHomeDataOnlyToSale();

    /**
    * 签到接口
    * */
    void serviceApiSign();

    /**
    * 限时购提醒
    * */
    void serviceSetRemindSale(String event_map_id,String product_id,String remindState,int selChildPosition);

    /**
    * 限时购接口
    * */
    void serviceSaleDatas(String event_map_id,int selChildPosition);

    /**
     * 首页底部商品接口
     * index 当前的索引
     * loadMore 是否是加载更多
     * */
    void serviceFooterNewShopDataLoadMore(int index,boolean loadMore);

    /**
    * //首页活动弹窗
    * */
    void serviceGetPopUpData(String page_type, MessageCallBack<List<CommonPopUpBean>> callBack);

    /////////////////////////////////////////////////////////////////////////////////
    //
    //                    事件
    //
    /////////////////////////////////////////////////////////////////////////////////
    /**
     * 打开二维码
     * */
    void interactionToOpenQrPage();

    /**
    * 打开消息页面
    * */
    void interactionToOpenMessagePage();

    /**
    * 点击搜索
    * */
    void interactionSearchPage();

    /**
     * 限时购相关事件
     * */
    void interactionSale(String remindState, String productId, String mapId, int childPosition, String startTime);

    /////////////////////////////////////////////////////////////////////////////////
    //
    //                    通知事件部分处理
    //
    /////////////////////////////////////////////////////////////////////////////////
    void eventBusToSearchWord(String searchWord);

    void eventBusToRefreshSignState();

    /////////////////////////////////////////////////////////////////////////////////
    //
    //                    定时任务
    //
    /////////////////////////////////////////////////////////////////////////////////
    /**
    * 停止所有定时任务
    * */
    void stopAllTimerTask();
}
